package com.c6906.vdam.das.dao;

import com.c6906.vdam.das.model.entity.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.cache.annotation.Cacheable;

import java.util.Date;
import java.util.List;

@Mapper
public interface VehiclesDAO {
    List<VehiclesTask> selectTaskByCodeAndTime(@Param("vehiclesCode") String vehiclesCode, @Param("startTime") Date startTime, @Param("endTime") Date endTime);

    List<VehiclesTask> selectAlldayEndTaskByDate(@Param("date") String date);

    VehiclesTask selectRuningTaskByPlate(@Param("vehPlateNum") String vehPlateNum);

    void batchInsertVehiclesIllegalParkings(List<EWVehiclesIllegalParking> EWVehiclesIllegalParkings);

    void insertVehiclesUnfixDetail(VehiclesUnfixDetail newVUDetail);

    void updateVehiclesUnfixDetail(VehiclesUnfixDetail vehiclesUnfixDetail);

    void insertUnauthTask(EWVehiclesUnauthTask ewVehiclesUnauthTask);

    void updateUnauthTask(EWVehiclesUnauthTask ewVehiclesUnauthTask);

    BladeHolidaySetting getHolidaySetting(@Param("holidayDate") String holidayDate);

    void batchInsertVehiclesNoTask(List<EWVehiclesNoTask> ewVehiclesNoTaskList);

    void deleteVehiclesUnfixDetail(VehiclesUnfixDetail vehiclesUnfixDetail);

    List<Long> getAreaWhiteListByVehiclesCode(String vehiclesCode);

    List<VehiclesTask> selectTaskByCodeAndDate(@Param("vehiclesCode") String vehiclesCode, @Param("date") String date);
}
